Прямая задача (геопотенциальные поля) (ДПФ)

Данная утилита реализует решение прямой задачи на геопотенциальные поля (поля силы тяжести и магнитные поля) - расчёт двумерного поля на регулярной 2D сетке на плоскости, исходя из плотностной или магнитной сетевой (сеточной) 3D модели среды. Задача - корректная и решается однозначно.

Обратите внимание, что, по сравнению с обычно принятыми формулировками, в ГИС INTEGRO ось z направлена вверх, но в пользовательском интерфейсе утилиты глубина задаётся в виде положительных значений, а система инвертирует их знак.

Математическая формулировка

Метод основан на численном интегрировании функции физического параметра, заданной на 3D сетке.

Формулировка моделей

Модель среды задаётся регулярной 3D сеткой Υ=(x,y,z)3. Каждой точке сетки ставится в соответствие ячейка - прямоугольная призма, покрывая всю область моделирования без зазоров и перекрытий. Ячейки одинаковые (конгруэнтные), пересекаются не более чем своими гранями (с нулевым объёмом), и заполняют всё пространство между точками. Таким образом, модель является конечноэлементной с элементами - прямоугольными призмами.

Каждой ячейке ставится в соответствие одно значение физического параметра (плотности, намагниченности, восприимчивости...), и все точки одной ячейки имеют одно и то же значение физического параметра. Функция g(x,y,z),(x,y,z)3z<z0 определяет значения физического параметра среды в области, охватываемой ячейками.

Модель поля задаётся как функция u(x0,y0) от точек поля (x0,y0)Ω2, Ω - сетка поля. При этом в 3D пространстве все точки находятся на заданной высоте z0, которая для простоты изложения ниже принимается за 0 без потери общности.

Предполагается, что сетки Ω и Υ соответствуют друг другу - шаг, начало отсчёта в проекции Oxy и азимут совпадают. По-другому: для каждой точки (x,y,z)Υ есть точка (x,y)Ω, и наоборот, (x,y)Ωz:(x,y,z)Υ.

Взаимосвязь между моделями

Известная взаимосвязь между распределением физического параметра в полупространстве V под плоскостью z0 и полем, заданным на горизонтальной плоскости:

u(x0,y0)=[Ag](x0,y0)=Vg(x,y,z)k(xx0,yy0,z)dxdydz, (1)

где A=A(g) - (линейный) оператор прямой задачи, а k(x,y,z) - поле от точечной массы или магнитного диполя.

Гравитационная задача

Для поля силы тяжести определяется, что поле - первая вертикальная производная гравитационного потенциала: k(x,y,z)=γzr3, где r=x2+y2+z2; γ - коэффициент, связанный с гравитационной постоянной на основе CODATA (на момент написания документации - CODATA2014). Гравитационная постоянная γSI=6.67408×1011m3kg1c1. Учитывая единицы плотности g/cm3, расстояния m, объёма m3 и силы mGal, коэффициент γ=6.67408×103mGal×cm3×g1×m1 или γ=6.67408×103mGal×m2×tonne1.

Магнитная задача

Подразумевается, что данные измерений магнитного поля - скалярные, и измеряется проекция магнитной индукции на направление внешнего намагничивающего поля Земли. Тогда k=k(x,y,z) состоит из произведения:

  1. скалярной компоненты магнитной индукции, создаваемой веществом с единичной намагниченностью (магнитного момента единицы объёма) M в точке (x,y,z);
  2. C - коэффициента для единиц размерности, C=0.1 или C=100 (в зависимости от единиц намагниченности).

Единицы измерения - нТл для магнитной индукции, и мАм1 или Ам1 - для намагниченности (в старых версиях ГИС ИНГТЕГРО поддерживалась единица намагниченности только мАм1).

В случае использования магнитной восприимчивости κ она пересчитывается в намагниченность, используя усреднённый вектор индукции внешнего магнитного поля Bext: MκBextμ0κBext4π107. Значения магнитной восприимчивости задаются в единицах 105 СИ. При этом в формуле для k используется константа C=100. Поддерживается вычисление Bext из табличных данных (IGRF).

Дискретизация

Так как значение физического параметра в рамках элемента - прямоугольной призмы - не меняется, интеграл в (1) можно заменить на сумму интегралов по элементам:

u(x0,y0)=Vg(x,y,z)k(xx0,yy0,z)dxdydz=v𝒱vgvk(xx0,yy0,z)dxdydz=v𝒱gvvk(xx0,yy0,z)dxdydz, (3)

где gv - значение физического параметра в элементе v, (x,y,z)v:g(x,y,z)=gv.

Формулировка через дискретные преобразования Фурье

Если принять ΔX,ΔY - размеры ячеек по горизонтали, то можно заметить, что в (3) интегралы vk(xx0,yy0,z)dxdydz=kv для ячеек на одной глубине отличаются только сдвигом. Это поможет ускорить вычисления с помощью быстрых преобразований Фурье.

Перепишем (3) через двойную сумму: 1) по ячейкам внутри одного горизонтального слоя V𝒾 толщиной в один элемент и 2) по горизонтальным слоям:

v𝒱gvvk(xx0,yy0,z)dxdydz=i=1nzvV𝒾gvvk(xx0,yy0,z)dxdydz. (4)

Рассмотрим тройной интеграл. Он зависит только от объёма интегрирования v, обозначим его как kv(x0,y0)=vk(xx0,yy0,z)dxdydz. Заметим, что kv для различных ячеек v отличаются только сдвигом по координатам x0 и y0.

Теперь рассмотрим внутреннюю сумму. Она является расчётом линейной задачи от одного слоя элементов, соответствующих точкам сетки Υ с i-ым значением координаты z. Её можно представить как линейный оператор ui=Aig^i прямой задачи для горизонтального слоя толщиной в одну ячейку; аргументом оператора является вектор значений физического параметра g^iN(V𝒾). Так как отдельные kv отличаются только сдвигом, то в (4) внутренняя сумма - это непериодическая дискретная свёртка, а Ai - матрица Тёплица (в 2D). Аппроксимируем их периодической дискретной свёрткой и циркулятной (в 2D) матрицей:

u(x0,y0)u^j,l, u^=ig^ik^i=iA^ig^i, (5)

где j,l - индексы по осям oX и oY координат сетки Ω, а k^ - ядро свёртки, аппроксимирующее значения поля для точечного источника. Элементы k^ выражаются через значения kv, но конкретный вид будет уточнён ниже.

По теореме о свёртке оператор A^i диагонализируется двумерным дискретным преобразованием Фурье. Через =x,yvx,vy обозначим оператор двумерного преобразования Фурье по латерали (по осям Ox и Oy). Тогда диагонализация A^i выглядит следующим образом:

A^i=1Di, (6)

где матрица Di=Diag[k^i] - диагональная матрица собственных чисел матрицы A^i (прямой задачи для горизонтального слоя). Подставив (6) вместо внутренней суммы в (5), получаем численный метод решения прямой задачи:

u^=i=1..nz1Diag[k^i](g^i), (7)

где u^ - вектор значений поля в 2D сетке, g^i - вектор значений физического параметра в i-ом горизонтальном срезе среды, а k^i - i-ое ядро дискретной свёртки. При реализации через БПФ (быстрые преобразования Фурье) вариант (7) значительно быстрее реализации (4).

Ядро свёртки

Рассмотрим свёртку в (5):

u^i,j0,l0=(g^ik^i)j0,l0=(j,lg^i,j,lk^i,(jj0)modnx,(ll0)modny)j0,l0. (8)

Ядро k^i периодической дискретной свёртки (аппроксимации) не является строго равным ядру непериодической свёртки (аппроксиманту). Оно выбирается так, чтобы для центральной ячейки свёртка периодическая и непериодическая были равны. То есть, ядро периодической свёртки со смещением j0=nx/2,l0=ny/2 равняется ядру непериодической с таким же смещением. В этом случае посередине сетки Ω краевые эффекты в u^ минимальны.

Краевые эффекты

Ограниченный объём 3D модели предполагает, что интегрирование за его границами (по латерали) не осуществляется. Это утверждение эквивалентно такому случаю, при котором модель по латерали простирается до бесконечности, но в области вне модели равна нулю. В реальности так почти никогда не бывает, и поэтому значения расчётного поля около границ не соответствуют реальности даже когда значения физического параметра внутри объёма моделирования известны с высокой точностью. Более того, дискретные преобразования Фурье предполагают, что матрицы, составляющие оператор прямой задачи Ai, - циркулятные (в 2D), но на самом деле это не так, и расчёт через A^i продуцирует дополнительные краевые эффекты.

Для обработки граничных случаев используется механизм экстраполяции. Расчёт без экстраполяции называется экстраполяцией "повтор", потому что в этом случае расчёт эквивалентен случаю непериодической экстраполяции (с матрицей Тёплица), когда данные распространяются в область экстраполяции методом тайлинга (мозаичного размешения повторяющихся копий), а ядро - это ядро непериодической свёртки k^i, дополненное нулями. Формально, экстраполированные данные g~i,j,l=g^i,jmodnx,lmodny, а ядро свёртки k~i=k^i для тех i, где определено k^i, и 0 во всех других.

Для подавления краевых эффектов можно использовать экстраполяцию "отражением". В качестве альтернативы можно пользоваться более сложными методами экстраполяции, реализованными в утилите Экстраполяции поля с соединением противоположных краёв. При этом, если уже была произведена экстраполяция с соединением краёв, то следует выбирать "повтор".

Отличия от классического метода Приезжева

Метод основан на известном методе решения прямых задач Приезжева, основанном на преобразованиях Фурье, с важными отличиями:

  1. Обработка краевых эффектов производится отражением, что показывает чуть более качественные результаты, чем реализованная Приезжевым экстраполяция линейной интерполяцией между краями сетки; также поддерживается Экстраполяция поля.
  2. Есть возможность использовать гравитационное поле от прямоугольной призмы, в то время как в реализации Приезжева используется только точка.

Поле от ячейки

В рамках ГИС ИНТЕГРО полагается, что сеточной модели ставится в соответствие следующая конечноэлементная модель: для каждой точки сеточной модели строится ячейка - прямоугольная призма с центром в этой точке, а физический параметр в рамках ячейки одинаков и равен заданному в точке значению. Для гравитационной задачи есть возможность задавать три различных способа аппроксимации:

  • классический расчёт поля от прямоугольной призмы (через 16 логарифмов и 8 арктангенсов);
  • простая аппроксимация полем от точечной массы;
  • аппроксимация прямоугольной призмы таким способом, при котором поле вдали от ячейки рассчитывается как поле от точечной массы, иначе - классический расчёт.

В случаях, когда шаг по вертикали намного меньше шага по латерали, для ячеек, находящихся близко к полю, аппроксимация полем точечной массы может иметь неприемлемо большую ошибку, но "честный" расчёт поля прямоугольной призмы может сильно замедлять выполнение алгоритма. Рекомендуется:

  1. Выбирать компромиссный вариант.
  2. Поле точечной массы следует выбирать для совместимости с другими системами, которые могут использовать такую аппроксимацию.

Параметры

  • Исходная ТОС и исходное свойство: ТОС и имя свойства, содержащие распределение физического параметра.
  • Высота поля (Z) - высота, на которой находится плоскость, содержащая сетку, в которой рассчитывается поле, м.
  • Экстраполяция - Повтор или Отражение. Повтор: значение точек за краем данных равно значению точек с противоположного края. Отражение: значение точек за краем данных равно значению точек с этого же края с отступом внутрь, равным отступу наружу. Если по каким-то причинам требуется использовать стандартную экстраполяцию, то её необходимо сделать отдельно.
  • Целевая ТОС и целевое свойство: ТОС и имя свойства, в которые будет записано результирующее поле. Если ТОС уже существует и совместима по привязке с исходной ТОС, то в неё будет добавлено новое свойство. Если свойство с указанным именем уже существует, будет запрошено подтверждение за перезапись свойства. Предлагается несколько имён свойств на выбор, но можно ввести собственный вариант имени свойства.